﻿using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using GC2.Entities.Admin;
using GC2.Funciones.General;
using GC2.Bussines.BMAdmin;
using GC2.ExceptionHandler;

public partial class Index : GenericPage

{
    FunctionsSite fs = new FunctionsSite();

    #region Controles 

        #region Page_Load
        protected void Page_Load(object sender, EventArgs e)
        {
            if (!this.IsPostBack)
            {
                Usuarios usuario = new Usuarios();
                usuario.Cliente = "comercial";
                Session["UsuarioActual"] = usuario;
            }
 
        }
        #endregion

        #region btnEnviar_Click
        protected void btnEnviar_Click(object sender, EventArgs e)
        {
            Validar();
        }
        #endregion

    #endregion

    #region Metodos

        #region Validar
        public void Validar()
        {
           
            Solicitudes solicitud = new Solicitudes();

            if (txtNombre.Text.Length > 1)
            {
                solicitud.Nombre = txtNombre.Text;
            }
            else
            {
                lblError.Text = "Ingrese su Nombre";
                if (cboTDoc.SelectedItem.Value == "4")
                {
                    lblError.Text = "Ingrese nombre de Persona Jurrídica";
                }
                return;
            }

            if (txtApellido.Text.Length > 1)
            {
                solicitud.Apellido = txtApellido.Text;
            }
            else
            {

                if (cboTDoc.SelectedItem.Value == "4")
                {
                    lblError.Text = "";
                }
                else
                {
                    lblError.Text = "Ingrese su Apellido";
                    return;
                }
            }

            int iFecha = 0;

            if (fs.isNumeric(txtFNacdd.Text))
            {
                iFecha = Convert.ToInt16(txtFNacdd.Text);
                if (iFecha < 1)
                {
                    lblError.Text = "Día de Nacimiento no válido";
                    if (cboTDoc.SelectedItem.Value == "4")
                    {
                        lblError.Text = "Día de Inicio Actividad no válido";
                    }
                    return;
                }
                if (iFecha > 31)
                {
                    lblError.Text = "Día de Nacimiento no válido";
                    if (cboTDoc.SelectedItem.Value == "4")
                    {
                        lblError.Text = "Día de Inicio Actividad no válido";
                    }
                    return;
                }
            }
            else
            {
                lblError.Text = "Día de Nacimiento no válido";
                if (cboTDoc.SelectedItem.Value == "4")
                {
                    lblError.Text = "Día de Inicio Actividad no válido";
                }
                return;
            }

            int iYear = DateTime.Now.Year ;

            if (fs.isNumeric(txtFNacaa.Text))
            {
                iFecha = Convert.ToInt16(txtFNacaa.Text);
                if (iFecha < (iYear-100))
                {
                    lblError.Text = "Año de Nacimiento no válido";
                    if (cboTDoc.SelectedItem.Value == "4")
                    {
                        lblError.Text = "Año de Inicio Actividad no válido";
                    }
                    return;
                }
                if (iFecha > iYear)
                {
                    lblError.Text = "Año de Nacimiento no válido";
                    if (cboTDoc.SelectedItem.Value == "4")
                    {
                        lblError.Text = "Año de Inicio Actividad no válido";
                    }
                    return;
                }
            }
            else
            {
                lblError.Text = "Año de Nacimiento no válido";
                if (cboTDoc.SelectedItem.Value == "4")
                {
                    lblError.Text = "Año de Inicio Actividad no válido";
                }
                return;
            }

            string sDian = txtFNacdd.Text;
            if (sDian.Length < 2)
            {
                sDian = "0" + sDian;
            }

            string sFecha = txtFNacaa.Text + cboMes.SelectedItem.Value + sDian.ToString();
            solicitud.FechaNac = Convert.ToInt32(sFecha.ToString());


            solicitud.Comen = txtComen.Text;
            solicitud.Comi = 0;

            if(txtDestino.Text.Length < 5)
            {
                lblError.Text = "Explique mejor el Destino";
                return;
            }
            solicitud.Destino = txtDestino.Text;

            solicitud.Estado = 0;
            solicitud.FechaComi = 0;
            string sDia = DateTime.Now.Day.ToString();
            if (sDia.Length < 2)
            {
                sDia = "0" + sDia;
            }
            string sMes = DateTime.Now.Month.ToString();
            if (sMes.Length < 2)
            {
                sMes = "0" + sMes;
            }

            sFecha = DateTime.Now.Year.ToString() + sMes + sDia;

            solicitud.FechaIng = Convert.ToInt32(sFecha.ToString());

            solicitud.FechaEstado = solicitud.FechaIng;

            if (txtMail.Text.Length < 10)
            {
                if (txtTel.Text.Length < 7)
                {
                    lblError.Text = "Informe Mail o Número de Tel. para contacto.";
                    return;
                }
            }
            
            solicitud.Mail = txtMail.Text;
            solicitud.Tel = txtTel.Text;

            if (fs.isNumeric(txtMonto.Text))
            {
                solicitud.MontoSol = Convert.ToDecimal(txtMonto.Text);
            }
            else
            {
                lblError.Text = "Informe Monto solicitado.";
            }

            if (fs.isNumeric(txtDoc.Text))
            {
                if (txtDoc.Text.Length>6)
                {
                    solicitud.MontoSol = Convert.ToDecimal(txtMonto.Text);
                }
                else
                {
                    lblError.Text = "Informe Número de Documento válido.";
                    return;
                }
            }
            else
            {
                lblError.Text = "Informe Número de Documento válido.";
                return;
            }

            solicitud.NDoc = Convert.ToInt32(txtDoc.Text);
            solicitud.Otorgante = 0;
            solicitud.TDoc = Convert.ToInt16(cboTDoc.SelectedItem.Value);

            Guardar(solicitud);
        }
        #endregion

        #region Guardar
        public void Guardar(Solicitudes solicitud)
        {
            BMSolicitudes bmSolicitud = new BMSolicitudes(Connection);

            solicitud = bmSolicitud.BMSolicitudesInsert(solicitud);
            lblAccion.Text = "Datos Enviados Correctamente. Pronto nos comunicaremos.";
        }
        #endregion

    #endregion
}
